1-5 小程序宿主环境
双线程模型
小程序运行在双线程环境中:
- 渲染层(WebView):负责页面渲染,多个页面对应多个 WebView 线程
- 逻辑层(JsCore):负责执行 JavaScript 代码,运行在单独的线程中
两个线程通过 微信客户端(Native)进行通信,无法直接交互。
逻辑层 (JsCore)
↕ (通过 Native 中转)
渲染层 (WebView 1, WebView 2, ...)
text
与 Web 开发的区别
| 维度 | Web | 小程序 |
|---|---|---|
| DOM 操作 | 可以直接操作 | 不支持,通过数据驱动 |
| 运行环境 | 浏览器 | 微信客户端 |
| JS 运行 | 单线程 | 双线程隔离 |
| 路由 | 浏览器路由 | 小程序框架管理 |
| 网络 | XMLHttpRequest | wx.request |
小程序生命周期
App 生命周期: onLaunch → onShow → onHide
Page 生命周期: onLoad → onShow → onReady → onHide → onUnload
text
↑